package com.smile.model.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ToString
@TableName(value = "feisuan_airline")
public class FeisuanAirline {
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 航线名称
     */
    @TableField(value = "airline_name")
    private String airlineName;

    /**
     * 航线类型 0.点状航线，1.线状航线
     */
    @TableField(value = "airline_type")
    private Integer airlineType;

    /**
     * 0支持广角照片 1.不支持广角照片
     */
    @TableField(value = "wide_type")
    private Integer wideType;

    /**
     * 0支持变焦照片 1不支持变焦照片
     */
    @TableField(value = "zoom_type")
    private Integer zoomType;

    /**
     * 0相对起飞点高度 1相对地面高度 2绝对高度
     */
    @TableField(value = "airline_height_type")
    private Integer airlineHeightType;

    /**
     * 飞行高度
     */
    @TableField(value = "global_height")
    private BigDecimal globalHeight;

    /**
     * 飞行速度
     */
    @TableField(value = "auto_flight_speed")
    private BigDecimal autoFlightSpeed;

    /**
     * 起飞速度
     */
    @TableField(value = "global_transitional_speed")
    private BigDecimal globalTransitionalSpeed;

    /**
     * 0沿航线方向 1手动控制 2锁定当前偏航角
     */
    @TableField(value = "attitude_head")
    private Integer attitudeHead;

    /**
     * 航点类型 0. 协调转弯，不过点，提前转弯
     * 1. 直线飞行，飞行器点到停
     * 2. 平滑过点，提前转弯
     * 3. 曲线飞行，飞行器到点停
     * 4. 曲线飞行，飞行器过点不停
     */
    @TableField(value = "way_point_type")
    private Integer wayPointType;

    /**
     * 0自动返航
     * 1返回航线到起始点悬停
     * 2退出航线模式
     * 3原地降落
     */
    @TableField(value = "out_of_control_action")
    private Integer outOfControlAction;

    /**
     * 0自动返航
     * 1返回航线到起始点悬停
     * 2退出航线模式
     * 3原地降落
     */
    @TableField(value = "finish_action")
    private Integer finishAction;

    /**
     * 安全起飞高度
     */
    @TableField(value = "take_off_security_height")
    private BigDecimal takeOffSecurityHeight;

    /**
     * 全局返航高度
     */
    @TableField(value = "global_RTH_height")
    private BigDecimal globalRTHHeight;

    /**
     * 创建人
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 航点数
     */
    @TableField(value = "point_num")
    private Integer pointNum;

    /**
     * 预计执行时间
     */
    @TableField(value = "execute_time")
    private String executeTime;

    /**
     * 总里程
     */
    @TableField(value = "total_distance")
    private Integer totalDistance;

    /**
     * 参考起飞点
     */
    @TableField(value = "take_off_ref_point")
    private String takeOffRefPoint;

    /**
     * 航线文件url
     */
    @TableField(value = "airline_url")
    private String airlineUrl;

    @TableField(value = "e_tag")
    private String eTag;

    @TableField("airport_position")
    private String airportPosition;

    @TableField("airport_name")
    private String airportName;

    @TableField("airport_id")
    private Long airportId;


}
